Proactive directional control systems and methods

ABSTRACT

Techniques are disclosed for systems and methods to provide proactive directional control for a mobile structure. A proactive directional control system may include a logic device, a memory, one or more sensors, one or more actuators/controllers, and modules to interface with users, sensors, actuators, and/or other modules of a mobile structure. The logic device is adapted to determine a steering angle disturbance estimate based on environmental conditions associated with the mobile structure, and the steering angle disturbance estimate is used adjust a directional control signal provided to an actuator of the mobile structure. The logic device may also be adapted to receive directional data about a mobile structure and determine nominal vehicle feedback from the directional data, which may be used to adjust and/or stabilize the directional control signal provided to the actuator.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Patent ApplicationNo. PCT/US2015/067959 filed Dec. 29, 2015 and entitled “PROACTIVEDIRECTIONAL CONTROL SYSTEMS AND METHODS”, which is hereby incorporatedby reference in its entirety.

International Patent Application No. PCT/US2015/067959 claims priorityto and the benefit of U.S. Provisional Patent Application No. 62/099,032filed Dec. 31, 2014 and entitled “PROACTIVE DIRECTIONAL CONTROL SYSTEMSAND METHODS”, which is hereby incorporated by reference in its entirety.

International Patent Application No. PCT/US2015/067959 is also acontinuation-in-part of International Patent Application No.PCT/US2015/015281 filed Feb. 10, 2015 and entitled “ACCELERATIONCORRECTED ATTITUDE ESTIMATION SYSTEMS AND METHODS” which claims priorityto and the benefit of U.S. Provisional Patent Application No. 61/942,517filed Feb. 20, 2014 and entitled “ACCELERATION CORRECTED ATTITUDEESTIMATION SYSTEMS AND METHODS”, all of which are hereby incorporated byreference in their entirety.

International Patent Application No. PCT/US2015/067959 is also acontinuation-in-part of International Patent Application No.PCT/US2015/013141 filed Jan. 27, 2015 and entitled “HYDRAULIC SLIPCOMPENSATION SYSTEMS AND METHODS” which claims priority to and thebenefit of U.S. Provisional Patent Application No. 61/934,678 filed Jan.31, 2014 and entitled “HYDRAULIC SLIP COMPENSATION SYSTEMS AND METHODS”,all of which are hereby incorporated by reference in their entirety.

International Patent Application No. PCT/US2015/067959 also claimspriority to and the benefit of U.S. Provisional Patent Application No.62/099,016 filed Dec. 31, 2014 and entitled “ADAPTIVE TRACK KEEPINGSYSTEMS AND METHODS”, which is hereby incorporated by reference in itsentirety.

International Patent Application No. PCT/US2015/067959 also claimspriority to and the benefit of U.S. Provisional Patent Application No.62/099,022 filed Dec. 31, 2014 and entitled “STABILIZED DIRECTIONALCONTROL SYSTEMS AND METHODS”, which is hereby incorporated by referencein its entirety.

International Patent Application No. PCT/US2015/067959 is also acontinuation-in-part of U.S. patent application Ser. No. 14/852,010filed Sep. 11, 2015 and entitled “WIND SENSOR MOTION COMPENSATIONSYSTEMS AND METHODS” which is a continuation of International PatentApplication No. PCT/US2014/026725 filed Mar. 13, 2014 and entitled “WINDSENSOR MOTION COMPENSATION SYSTEMS AND METHODS” which claims priority toand the benefit of U.S. Provisional Application No. 61/785,327, filed onMar. 14, 2013 and entitled “WIND SENSOR MOTION COMPENSATION SYSTEMS ANDMETHODS,” all of which are incorporated herein by reference in theirentirety.

International Patent Application No. PCT/US2015/067959 is related toInternational Patent Application No. PCT/US2014/013441 filed Jan. 28,2014 and entitled “STABILIZED DIRECTIONAL CONTROL SYSTEMS AND METHODS”which claims priority to and the benefit of U.S. Provisional PatentApplication No. 61/759,238 filed Jan. 31, 2013 and entitled “STABILIZEDDIRECTIONAL CONTROL SYSTEMS AND METHODS,” all of which are incorporatedherein by reference in their entirety.

International Patent Application No. PCT/US2015/067959 is also relatedto U.S. patent application Ser. No. 14/321,646 filed Jul. 1, 2014 andentitled “STABILIZED DIRECTIONAL CONTROL SYSTEMS AND METHODS” which is acontinuation of International Patent Application No. PCT/US2014/013441filed Jan. 28, 2014 and entitled “STABILIZED DIRECTIONAL CONTROL SYSTEMSAND METHODS” which claims priority to and the benefit of U.S.Provisional Patent Application No. 61/759,238 filed Jan. 31, 2013 andentitled “STABILIZED DIRECTIONAL CONTROL SYSTEMS AND METHODS,” all ofwhich are incorporated herein by reference in their entirety.

International Patent Application No. PCT/US2015/067959 is related toInternational Patent Application No. PCT/US2015/015279 filed Feb. 10,2015 and entitled “MODULAR SONAR TRANSDUCER ASSEMBLY SYSTEMS ANDMETHODS” which claims priority to and the benefit of U.S. ProvisionalPatent Application No. 61/943,170 filed Feb. 21, 2014 and entitled“MODULAR SONAR TRANSDUCER ASSEMBLY SYSTEMS AND METHODS”, all of whichare hereby incorporated by reference in their entirety.

International Patent Application No. PCT/US2015/067959 is also relatedto International Patent Application No. PCT/US2015/032304 filed May 22,2015 and entitled “MULTICHANNEL SONAR SYSTEMS AND METHODS” which claimspriority to and the benefit of U.S. Provisional Patent Application No.62/005,838 filed May 30, 2014 and entitled “MULTICHANNEL SONAR SYSTEMSAND METHODS”, all of which are hereby incorporated by reference in theirentirety.

This application is also a continuation-in-part of U.S. patentapplication Ser. No. 15/239,760 filed Aug. 17, 2016 and entitled“ACCELERATION CORRECTED ATTITUDE ESTIMATION SYSTEMS AND METHODS” whichis a continuation of International Patent Application No.PCT/US2015/015281 filed Feb. 10, 2015 and entitled “ACCELERATIONCORRECTED ATTITUDE ESTIMATION SYSTEMS AND METHODS” which claims priorityto and the benefit of U.S. Provisional Patent Application No. 61/942,517filed Feb. 20, 2014 and entitled “ACCELERATION CORRECTED ATTITUDEESTIMATION SYSTEMS AND METHODS”, all of which are hereby incorporated byreference in their entirety.

This application is also a continuation-in-part of U.S. patentapplication Ser. No. 15/222,905 filed Jul. 28, 2016 and entitled“HYDRAULIC SLIP COMPENSATION SYSTEMS AND METHODS” which is acontinuation of International Patent Application No. PCT/US2015/013141filed Jan. 27, 2015 and entitled “HYDRAULIC SLIP COMPENSATION SYSTEMSAND METHODS” which claims priority to and the benefit of U.S.Provisional Patent Application No. 61/934,678 filed Jan. 31, 2014 andentitled “HYDRAULIC SLIP COMPENSATION SYSTEMS AND METHODS”, all of whichare hereby incorporated by reference in their entirety.

This application is also a continuation-in-part of U.S. patentapplication Ser. No. 15/620,675 filed Jun. 12, 2017 and entitled“ADAPTIVE AUTOPILOT CONTROL SYSTEMS AND METHODS” which is acontinuation-in-part of U.S. patent application Ser. No. 14/321,646filed Jul. 1, 2014 and entitled “STABILIZED DIRECTIONAL CONTROL SYSTEMSAND METHODS” (now U.S. Pat. No. 9,676,464 issued Jun. 13, 2017) which isa continuation of International Patent Application No. PCT/US2014/013441filed Jan. 28, 2014 and entitled “STABILIZED DIRECTIONAL CONTROL SYSTEMSAND METHODS” which claims priority to and the benefit of U.S.Provisional Patent Application No. 61/759,238 filed Jan. 31, 2013 andentitled “STABILIZED DIRECTIONAL CONTROL SYSTEMS AND METHODS,” all ofwhich are incorporated herein by reference in their entirety.

TECHNICAL FIELD

One or more embodiments of the invention relate generally to directionalcontrol and more particularly, for example, to systems and methods forproactive directional control for vehicles.

BACKGROUND

Directional control systems and methods are used to provide automatedand/or supplemented control for planes, watercraft, and, more recently,automobiles. A significant drawback to conventional directional controlsystems is that they typically need to be designed and/or configured fora particular vehicle, and once configured, cannot easily be used toprovide directional control for a different vehicle. Thus, manufacturingdirectional control systems and methods for a number of differentvehicles, even if they are of the same type, such as different makes ofships, can be expensive due to extensive testing and adjustmentprocedures performed for each individual vehicle.

Adaptive control techniques have been developed to address manuallyperforming the adjustment and testing procedures, but conventionaladaptive techniques typically take too long to train to a particularvehicle dynamic under normal operating conditions. Furthermore,conventional adaptive techniques typically train to a very limited setof vehicle states and or dynamics, and directional controllers based onthese techniques are known to drastically lose their accuracy and/orstability as conditions vary even subtly outside previous trainingconditions.

In addition, even advanced adaptive directional control techniquestypically fail to address disturbances effecting directional controlproactively, and so common interactions with a real world environment(e.g., gusts of wind, waves on an ocean, ruts in a road) can relativelyeasily result in unsafe conditions for a mobile structure controlled byan autopilot. Thus, there is a need for improved proactive directionalcontrol methodologies.

SUMMARY

Techniques are disclosed for systems and methods to provide proactivedirectional control for a mobile structure. In accordance with one ormore embodiments, a directional control system may include a logicdevice, a memory, one or more sensors, one or moreactuators/controllers, and modules to interface with users, sensors,actuators, and/or other modules of a mobile structure. The logic devicemay be adapted to determine a steering angle disturbance estimate basedon environmental conditions associated with the mobile structure, andthe feed forward disturbance correction may be used adjust a directionalcontrol signal provided to an actuator of the mobile structure. Thelogic device may also be adapted to receive directional data about amobile structure and determine nominal vehicle feedback from thedirectional data, which may be used to adjust and/or stabilize thedirectional control signal provided to the actuator. Various types ofcontrol signals may be displayed to a user and/or used to adjust asteering actuator, a propulsion system thrust, and/or other operationalsystems of the mobile structure.

In various embodiments, a proactive directional control system mayinclude a logic device configured to receive one or more sensor signalsand generate one or more control signals to provide proactivedirectional control for a mobile structure. The logic device may beconfigured to receive a steering demand for the mobile structure,wherein the steering demand is based, at least in part, on a heading ofthe mobile structure; determine a steering angle disturbance adjustmentbased, at least in part, on the heading and one or more environmentalconditions associated with the mobile structure; and determine adisturbance adjusted steering demand based, at least in part, on thesteering angle disturbance adjustment and the steering demand.

In some embodiments, a method may include receiving a steering demandfor a mobile structure, wherein the steering demand is based, at leastin part, on a heading of the mobile structure; determining a steeringangle disturbance adjustment based, at least in part, on the heading andone or more environmental conditions associated with the mobilestructure; and determining a disturbance adjusted steering demand based,at least in part, on the steering angle disturbance adjustment and thesteering demand.

The scope of the invention is defined by the claims, which areincorporated into this section by reference. A more completeunderstanding of embodiments of the invention will be afforded to thoseskilled in the art, as well as a realization of additional advantagesthereof, by a consideration of the following detailed description of oneor more embodiments. Reference will be made to the appended sheets ofdrawings that will first be described briefly.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a block diagram of a mobile structure including adirectional control system in accordance with an embodiment of thedisclosure.

FIG. 1B illustrates a diagram of a watercraft including a directionalcontrol system in accordance with an embodiment of the disclosure.

FIG. 1C illustrates a diagram of a rear portion of a watercraftincluding a directional control system in accordance with an embodimentof the disclosure.

FIG. 2A illustrates a distribution of orbital velocity of water in awave in accordance with an embodiment of the disclosure.

FIG. 2B illustrates a mobile structure oriented to head down a wave inaccordance with an embodiment of the disclosure.

FIG. 2C illustrates a mobile structure oriented to head across a wave inaccordance with an embodiment of the disclosure.

FIG. 3 illustrates a wave based disturbance of a mobile structure inaccordance with an embodiment of the disclosure.

FIG. 4 illustrates a heel or roll based disturbance of a mobilestructure in accordance with an embodiment of the disclosure.

FIG. 5 illustrates a flow diagram of a control loop to provide proactivedirectional control in accordance with an embodiment of the disclosure.

FIG. 6 illustrates a flow diagram of a control loop to provide proactivedirectional control in accordance with an embodiment of the disclosure.

Embodiments of the invention and their advantages are best understood byreferring to the detailed description that follows. It should beappreciated that like reference numerals are used to identify likeelements illustrated in one or more of the figures.

DETAILED DESCRIPTION

In accordance with various embodiments of the present disclosure,adaptive nominal vehicle model-based autopilot systems and methods mayprovide proactive directional control for mobile structures that issubstantially more reliable and accurate than conventional systemsacross a wide variety of types of structures and environmentalconditions. For example, the most common type of conventionaldirectional controller is a proportional-derivative-integral (PID)controller. The integral portion of the PID controller attempts tocorrect for steady state disturbances, but it is typically insufficientfor a number of common environmental conditions.

For example, on a sailboat that is heeled over while sailing upwind, thesails drive the boat into the wind, and the skipper typically needs tohold around five degrees of weather helm (e.g., additional steeringangle counteracting the force of the wind/slip angle of the boat) tokeep the boat from luffing up. One problem with integral action is thatit lags the actual conditions measured with respect to the boat, andthis lag destabilizes the PID control loop enough to make the resultingautopilot control oscillatory and at least uncomfortable for a user,particularly under conditions where holding a weather helm is necessary.Another problem is that integral action generates overshoot to a stepinput (e.g., such as when changing from waypoint to waypoint in aroute), and so a conventional PID controller attempting to autopilotthrough a tacking maneuver will overshoot the new heading due to theerror in the PID controller that arises when the steering demandsuddenly changes by approximately ninety degrees, and that overshoot candestabilize the entire tacking maneuver. Even under the most commonenvironmental conditions, the parameters/gains for the PID controllertypically need to be carefully adjusted for each individual boat and, insome instances, for each environmental condition experienced by theboat, before the PID controller can be used to autopilot that boatcomfortably and/or safely.

One or more embodiments of the described directional control system mayadvantageously include a controller and one or more of an orientationsensor, a gyroscope, an accelerometer, a position sensor, a speedsensor, and/or a steering sensor/actuator providing measurements of anorientation, position, acceleration, speed, and/or steering angle of themobile structure. In some embodiments, the controller may be adapted toexecute one or more control loops including a disturbance model and/or anominal vehicle feedback system.

The disturbance model may be configured to receive various environmentalsensor data, detect environmental conditions corresponding to adisturbance in the directional control of a mobile structure, andprovide a steering offset to preempt the detected disturbance in themotion of the mobile structure, as described herein. The nominal vehiclefeedback system may be configured to receive measured or modeled sensorsignals, such as a steering angle and a steering rate for a mobilestructure, and provide a nominal vehicle feedback signal, as describedherein. Such sensors may be mounted to or within the mobile structure(e.g., a watercraft, aircraft, motor vehicle, and/or other mobilestructure), or may be integrated with a controller. Various embodimentsof the present disclosure may be configured to automatically coordinatesteering actuator operations with various orientation and/or positionmeasurements to provide relatively high quality, low noise, andproactive directional control.

As an example, FIG. 1A illustrates a block diagram of system 100 inaccordance with an embodiment of the disclosure. In various embodiments,system 100 may be adapted to provide directional control for aparticular mobile structure 101. Directional control of a mobilestructure may refer to control of any one or combination of yaw, pitch,or roll of mobile structure 101. In some embodiments, system 100 may beadapted to measure an orientation, a position, an acceleration, and/or aspeed of mobile structure 101. System 100 may then use thesemeasurements to control operation of mobile structure 101, such ascontrolling steering actuator 150 and/or propulsion system 170 to steermobile structure 101 according to a desired heading, such as headingangle 107, for example.

In the embodiment shown in FIG. 1A, system 100 may be implemented toprovide directional control for a particular type of mobile structure101, such as a drone, a watercraft, an aircraft, a robot, a vehicle,and/or other types of mobile structures. In one embodiment, system 100may include one or more of a sonar system 110, a user interface 120, acontroller 130, an orientation sensor 140, a speed sensor 142, agyroscope/accelerometer 144, a global positioning satellite system (GPS)146, a steering sensor/actuator 150, a propulsion system 170, and one ormore other sensors and/or actuators used to sense and/or control a stateof mobile structure 101, such as other modules 180. In some embodiments,one or more of the elements of system 100 may be implemented in acombined housing or structure that can be coupled to mobile structure101 and/or held or carried by a user of mobile structure 101.

Directions 102, 103, and 104 describe one possible coordinate frame ofmobile structure 101 (e.g., for headings or orientations measured byorientation sensor 140 and/or angular velocities and accelerationsmeasured by gyroscope/accelerometer 144). As shown in FIG. 1A, direction102 illustrates a direction that may be substantially parallel to and/oraligned with a longitudinal axis of mobile structure 101, direction 103illustrates a direction that may be substantially parallel to and/oraligned with a lateral axis of mobile structure 101, and direction 104illustrates a direction that may be substantially parallel to and/oraligned with a vertical axis of mobile structure 101, as describedherein. For example, a roll component of motion of mobile structure 101may correspond to rotations around direction 102, a pitch component maycorrespond to rotations around direction 103, and a yaw component maycorrespond to rotations around direction 104.

Heading angle 107 may correspond to the angle between a projection of areference direction 106 (e.g., the local component of the Earth'smagnetic field) onto a horizontal plane (e.g., referenced to agravitationally defined “down” vector local to mobile structure 101) anda projection of direction 102 onto the same horizontal plane. In someembodiments, the projection of reference direction 106 onto a horizontalplane (e.g., referenced to a gravitationally defined “down” vector) maybe referred to as Magnetic North. In various embodiments, MagneticNorth, a “down” vector, and/or various other directions, positions,and/or fixed or relative reference frames may define an absolutecoordinate frame, for example, where directional measurements referencedto an absolute coordinate frame may be referred to as absolutedirectional measurements (e.g., an “absolute” orientation).

In some embodiments, directional measurements may initially bereferenced to a coordinate frame of a particular sensor (e.g., a sonartransducer assembly or module of sonar system 110) and be transformed(e.g., using parameters for one or more coordinate frametransformations) to be referenced to an absolute coordinate frame and/ora coordinate frame of mobile structure 101. In various embodiments, anabsolute coordinate frame may be defined and/or correspond to acoordinate frame with one or more undefined axes, such as a horizontalplane local to mobile structure 101 referenced to a local gravitationalvector but with an unreferenced and/or undefined yaw reference (e.g., noreference to Magnetic North).

Sonar system 110 may be implemented with one or more electrically and/ormechanically coupled controllers, transmitters, receivers, transceivers,signal processing logic devices, autonomous power systems, variouselectrical components, transducer elements of various shapes and sizes,multichannel transducers/transducer modules, transducer assemblies,assembly brackets, transom brackets, and/or various actuators adapted toadjust orientations of any of the components of sonar system 110, asdescribed herein. Sonar system 110 may be configured to emit one,multiple, or a series of acoustic beams, receive corresponding acousticreturns, and convert the acoustic returns into sonar data and/orimagery, such as bathymetric data, water depth, water temperature, watercolumn/volume debris, bottom profile, and/or other types of sonar data.Sonar system 110 may be configured to provide such data and/or imageryto user interface 120 for display to a user, for example, or tocontroller 130 for additional processing, as described herein.

For example, in various embodiments, sonar system 110 may be implementedand/or operated according to any one or combination of the systems andmethods described in U.S. Provisional Patent Application 62/005,838filed May 30, 2014 and entitled “MULTICHANNEL SONAR SYSTEMS ANDMETHODS”, U.S. Provisional Patent Application 61/943,170 filed Feb. 21,2014 and entitled “MODULAR SONAR TRANSDUCER ASSEMBLY SYSTEMS ANDMETHODS”, and/or U.S. Provisional Patent Application 62/087,189 filedDec. 3, 2014 and entitled “AUTONOMOUS SONAR SYSTEMS AND METHODS”, eachof which are hereby incorporated by reference in their entirety. Inother embodiments, sonar system 110 may be implemented according toother sonar system arrangements that can be used to detect objectswithin a water column and/or a floor of a body of water.

User interface 120 may be implemented as one or more of a display, atouch screen, a keyboard, a mouse, a joystick, a knob, a steering wheel,a ship's wheel or helm, a yoke, and/or any other device capable ofaccepting user input and/or providing feedback to a user. For example,in some embodiments, user interface 120 may be implemented and/oroperated according to any one or combination of the systems and methodsdescribed in U.S. Provisional Patent Application 62/069,961 filed Oct.29, 2014 and entitled “PILOT DISPLAY SYSTEMS AND METHODS”, which ishereby incorporated by reference in its entirety.

In various embodiments, user interface 120 may be adapted to provideuser input (e.g., as a type of signal and/or sensor information) toother devices of system 100, such as controller 130. User interface 120may also be implemented with one or more logic devices that may beadapted to execute instructions, such as software instructions,implementing any of the various processes and/or methods describedherein. For example, user interface 120 may be adapted to formcommunication links, transmit and/or receive communications (e.g.,sensor signals, control signals, sensor information, user input, and/orother information), determine various coordinate frames and/ororientations, determine parameters for one or more coordinate frametransformations, and/or perform coordinate frame transformations, forexample, or to perform various other processes and/or methods describedherein.

In some embodiments, user interface 120 may be adapted to accept userinput, for example, to form a communication link, to select a particularwireless networking protocol and/or parameters for a particular wirelessnetworking protocol and/or wireless link (e.g., a password, anencryption key, a MAC address, a device identification number, a deviceoperation profile, parameters for operation of a device, and/or otherparameters), to select a method of processing sensor signals todetermine sensor information, to adjust a position and/or orientation ofan articulated sensor, and/or to otherwise facilitate operation ofsystem 100 and devices within system 100. Once user interface 120accepts a user input, the user input may be transmitted to other devicesof system 100 over one or more communication links.

In one embodiment, user interface 120 may be adapted to receive a sensoror control signal (e.g., from orientation sensor 140 and/or steeringsensor/actuator 150) over communication links formed by one or moreassociated logic devices, for example, and display sensor and/or otherinformation corresponding to the received sensor or control signal to auser. In related embodiments, user interface 120 may be adapted toprocess sensor and/or control signals to determine sensor and/or otherinformation. For example, a sensor signal may include an orientation, anangular velocity, an acceleration, a speed, and/or a position of mobilestructure 101 and/or other elements of system 100. In such embodiment,user interface 120 may be adapted to process the sensor signals todetermine sensor information indicating an estimated and/or absoluteroll, pitch, and/or yaw (attitude and/or rate), and/or a position orseries of positions of mobile structure 101 and/or other elements ofsystem 100, for example, and display the sensor information as feedbackto a user.

In one embodiment, user interface 120 may be adapted to display a timeseries of various sensor information and/or other parameters as part ofor overlaid on a graph or map, which may be referenced to a positionand/or orientation of mobile structure 101 and/or other element ofsystem 100. For example, user interface 120 may be adapted to display atime series of positions, headings, and/or orientations of mobilestructure 101 and/or other elements of system 100 overlaid on ageographical map, which may include one or more graphs indicating acorresponding time series of actuator control signals, sensorinformation, and/or other sensor and/or control signals.

In some embodiments, user interface 120 may be adapted to accept userinput including a user-defined target heading, waypoint, route, and/ororientation for an element of system 100, for example, and to generatecontrol signals for steering sensor/actuator 150 and/or propulsionsystem 170 to cause mobile structure 101 to move according to the targetheading, waypoint, route, and/or orientation. In other embodiments, userinterface 120 may be adapted to accept user input modifying a controlloop parameter of controller 130, for example, or selecting aresponsiveness of controller 130 in controlling a direction (e.g.,through application of a particular steering angle) of mobile structure101.

For example, a responsiveness setting may include selections ofPerformance (e.g., fast response), Cruising (medium response), andEconomy (slow response) responsiveness, where the different settings areused to choose between a more pronounced and immediate steering response(e.g., a faster control loop response) or reduced steering actuatoractivity (e.g., a slower control loop response). In some embodiments, aresponsiveness setting may correspond to a maximum desired lateralacceleration during a turn. In such embodiments, the responsivenesssetting may modify a gain, a deadband, a limit on an output, a bandwidthof a filter, and/or other control loop parameters of controller 130, asdescribed herein.

In further embodiments, user interface 120 may be adapted to accept userinput including a user-defined target attitude, orientation, and/orposition for an actuated device (e.g., sonar system 110) associated withmobile structure 101, for example, and to generate control signals foradjusting an orientation and/or position of the actuated deviceaccording to the target attitude, orientation, and/or position. Moregenerally, user interface 120 may be adapted to display sensorinformation to a user, for example, and/or to transmit sensorinformation and/or user input to other user interfaces, sensors, orcontrollers of system 100, for instance, for display and/or furtherprocessing.

Controller 130 may be implemented as any appropriate logic device (e.g.,processing device, microcontroller, processor, application specificintegrated circuit (ASIC), field programmable gate array (FPGA), memorystorage device, memory reader, or other device or combinations ofdevices) that may be adapted to execute, store, and/or receiveappropriate instructions, such as software instructions implementing acontrol loop for controlling various operations of steeringsensor/actuator 150, mobile structure 101, and/or other elements ofsystem 100, for example. Such software instructions may also implementmethods for processing sensor signals, determining sensor information,providing user feedback (e.g., through user interface 120), queryingdevices for operational parameters, selecting operational parameters fordevices, or performing any of the various operations described herein(e.g., operations performed by logic devices of various devices ofsystem 100).

In addition, a machine readable medium may be provided for storingnon-transitory instructions for loading into and execution by controller130. In these and other embodiments, controller 130 may be implementedwith other components where appropriate, such as volatile memory,non-volatile memory, one or more interfaces, and/or various analogand/or digital components for interfacing with devices of system 100.For example, controller 130 may be adapted to store sensor signals,sensor information, parameters for coordinate frame transformations,calibration parameters, sets of calibration points, and/or otheroperational parameters, over time, for example, and provide such storeddata to a user using user interface 120. In some embodiments, controller130 may be integrated with one or more user interfaces (e.g., userinterface 120) and/or may share a communication module or modules.

As noted herein, controller 130 may be adapted to execute one or morecontrol loops for actuated device control, steering control (e.g., usingsteering sensor/actuator 150 and/or propulsion system 170) and/orperforming other various operations of mobile structure 101 and/orsystem 100. In some embodiments, a control loop may include processingsensor signals and/or sensor information in order to control one or moreoperations of mobile structure 101 and/or system 100.

For example, controller 130 may be adapted to receive a measured heading107 of mobile structure 101 from orientation sensor 140, a measuredsteering rate (e.g., a measured yaw rate, in some embodiments) fromgyroscope/accelerometer 144, a measured speed from speed sensor 142, ameasured position or series of absolute and/or relative positions fromGPS 146, a measured steering angle from steering sensor/actuator 150,and/or a user input from user interface 120. In some embodiments, a userinput may include a target heading 106, for example, an absoluteposition and/or waypoint (e.g., from which target heading 106 may bederived), and/or one or more other control loop parameters. In furtherembodiments, controller 130 may be adapted to determine a steeringdemand based on one or more of the received sensor signals, includingthe user input, and provide the steering demand to steeringsensor/actuator 150.

In some embodiments, a control loop may include a nominal vehiclepredictor used to produce a feedback signal corresponding to an averageor nominal vehicle/mobile structure rather than one specific to mobilestructure 101. Such feedback signal may be used to adjust or correctcontrol signals, such as control signals from a proportional,proportional-derivative, and/or proportional-derivative-integralcontroller module (e.g., implemented as a portion of controller 130)also forming a portion of the control loop, as described herein. In someembodiments, a control loop may include one or more vehicle dynamicsmodules corresponding to actual vehicles, for example, that may be usedto implement an adaptive algorithm for training various control loopparameters, such as parameters for a nominal vehicle predictor, withoutnecessitating real-time control of an actual mobile structure.

Orientation sensor 140 may be implemented as one or more of a compass,float, accelerometer, and/or other device capable of measuring anorientation of mobile structure 101 (e.g., magnitude and direction ofroll, pitch, and/or yaw, relative to one or more reference orientationssuch as gravity and/or Magnetic North) and providing such measurementsas sensor signals that may be communicated to various devices of system100. In some embodiments, orientation sensor 140 may be adapted toprovide heading measurements for mobile structure 101. In otherembodiments, orientation sensor 140 may be adapted to provide a pitch,pitch rate, roll, roll rate, yaw, and/or yaw rate for mobile structure101 (e.g., using a time series of orientation measurements). In suchembodiments, controller 130 may be configured to determine a compensatedyaw rate based on the provided sensor signals. In various embodiments, ayaw rate and/or compensated yaw rate may be approximately equal to asteering rate of mobile structure 101. Orientation sensor 140 may bepositioned and/or adapted to make orientation measurements in relationto a particular coordinate frame of mobile structure 101, for example.

Speed sensor 142 may be implemented as an electronic pitot tube, meteredgear or wheel, water speed sensor, wind speed sensor, a wind velocitysensor (e.g., direction and magnitude) and/or other device capable ofmeasuring or determining a linear speed of mobile structure 101 (e.g.,in a surrounding medium and/or aligned with a longitudinal axis ofmobile structure 101) and providing such measurements as sensor signalsthat may be communicated to various devices of system 100. In someembodiments, speed sensor 142 may be adapted to provide a velocity of asurrounding medium relative to sensor 142 and/or mobile structure 101.

Gyroscope/accelerometer 144 may be implemented as one or more electronicsextants, semiconductor devices, integrated chips, accelerometersensors, accelerometer sensor systems, or other devices capable ofmeasuring angular velocities/accelerations and/or linear accelerations(e.g., direction and magnitude) of mobile structure 101 and providingsuch measurements as sensor signals that may be communicated to otherdevices of system 100 (e.g., user interface 120, controller 130). Insome embodiments, gyroscope/accelerometer 144 may be adapted todetermine pitch, pitch rate, roll, roll rate, yaw, yaw rate, compensatedyaw rate, an absolute speed, and/or a linear acceleration rate of mobilestructure 101. Thus, gyroscope/accelerometer 144 may be adapted toprovide a measured heading, a measured steering rate, and/or a measuredspeed for mobile structure 101. In some embodiments,gyroscope/accelerometer 144 may provide pitch rate, roll rate, yaw rate,and/or a linear acceleration of mobile structure 101 to controller 130and controller 130 may be adapted to determine a compensated yaw ratebased on the provided sensor signals. Gyroscope/accelerometer 144 may bepositioned and/or adapted to make such measurements in relation to aparticular coordinate frame of mobile structure 101, for example. Invarious embodiments, gyroscope/accelerometer 144 may be implemented in acommon housing and/or module to ensure a common reference frame or aknown transformation between reference frames.

GPS 146 may be implemented as a global positioning satellite receiverand/or other device capable of determining an absolute and/or relativeposition of mobile structure 101 based on wireless signals received fromspace-born and/or terrestrial sources, for example, and capable ofproviding such measurements as sensor signals that may be communicatedto various devices of system 100. In some embodiments, GPS 146 may beadapted to determine and/or estimate a velocity, speed, and/or yaw rateof mobile structure 101 (e.g., using a time series of positionmeasurements), such as an absolute velocity and/or a yaw component of anangular velocity of mobile structure 101. In various embodiments, one ormore logic devices of system 100 may be adapted to determine acalculated speed of mobile structure 101 and/or a computed yaw componentof the angular velocity from such sensor information.

Steering sensor/actuator 150 may be adapted to physically adjust aheading of mobile structure 101 according to one or more controlsignals, user inputs, and/or stabilized attitude estimates provided by alogic device of system 100, such as controller 130. Steeringsensor/actuator 150 may include one or more actuators and controlsurfaces (e.g., a rudder or other type of steering mechanism) of mobilestructure 101, and may be adapted to sense and/or physically adjust thecontrol surfaces to a variety of positive and/or negative steeringangles/positions.

For example, FIG. 1C illustrates a diagram of a rear portion of awatercraft including a directional control system in accordance with anembodiment of the disclosure. As shown in FIG. 1C, rear portion 101C ofmobile structure 101 includes steering sensor/actuator 150 configured tosense a steering angle of rudder 152 and/or to physically adjust rudder152 to a variety of positive and/or negative steering angles, such as apositive steering angle α measured relative to a zero steering angledirection (e.g., designated by a dashed line 134). In variousembodiments, steering sensor/actuator 150 may be implemented with asteering actuator angle limit (e.g., the positive limit is designated byan angle β and a dashed line 136 in FIG. 1), and/or a steering actuatorrate limit “R”.

For example, a steering actuator rate limit may be a limit of howquickly steering sensor/actuator 150 can change a steering angle of asteering mechanism (e.g., rudder 132), and, in some embodiments, suchsteering actuator rate limit may vary depending on a speed of mobilestructure 101 along heading 104 (e.g., a speed of a ship relative tosurrounding water, or of a plane relative to a surrounding air mass). Infurther embodiments, a steering actuator rate limit may vary dependingon whether steering sensor/actuator 150 is turning with (e.g., anincreased steering actuator rate limit) or turning against (e.g., adecreased steering actuator rate limit) a prevailing counteractingforce, such as a prevailing current (e.g., a water and/or air current).A prevailing current may be determined from sensor signals provided byorientation sensor 140, gyroscope/accelerometer 122, speed sensor 124,and/or GPS 126, for example.

In various embodiments, steering sensor/actuator 150 may be implementedas a number of separate sensors and/or actuators, for example, to senseand/or control a one or more steering mechanisms substantiallysimultaneously, such as one or more rudders, elevators, and/orautomobile steering mechanisms, for example. In some embodiments,steering sensor/actuator 150 may include one or more sensors and/oractuators adapted to sense and/or adjust a propulsion force (e.g., apropeller speed and/or an engine rpm) of mobile structure 101, forexample, to effect a particular directional control maneuver (e.g., tomeet a particular steering demand within a particular period of time),for instance, or to provide a safety measure (e.g., an engine cut-offand/or reduction in mobile structure speed).

In some embodiments, rudder 152 (e.g., a steering mechanism) may beimplemented as one or more control surfaces and/or conventional rudders,one or more directional propellers and/or vector thrusters (e.g.,directional water jets), a system of fixed propellers and/or thrustersthat can be powered at different levels and/or reversed to effect asteering rate of mobile structure 101, and/or other types or combinationof types of steering mechanisms appropriate for mobile structure 101. Inembodiments where rudder 152 is implemented, at least in part, as asystem of fixed propellers and/or thrusters, steering angle α mayrepresent an effective and/or expected steering angle based on, forexample, characteristics of mobile structure 101, the system of fixedpropellers and/or thrusters (e.g., their position on mobile structure101), and/or control signals provided to steering sensor/actuator 150.An effective and/or expected steering angle α may be determined bycontroller 130 according to a pre-determined algorithm, for example, orthrough use of an adaptive algorithm for training various control loopparameters characterizing the relationship of steering angle α to, forinstance, power levels provided to the system of fixed propellers and/orthrusters and/or control signals provided by controller 130, asdescribed herein.

Propulsion system 170 may be implemented as a propeller, turbine, orother thrust-based propulsion system, a mechanical wheeled and/ortracked propulsion system, a sail-based propulsion system, and/or othertypes of propulsion systems that can be used to provide motive force tomobile structure 101. In some embodiments, propulsion system 170 may benon-articulated, for example, such that the direction of motive forceand/or thrust generated by propulsion system 170 is fixed relative to acoordinate frame of mobile structure 101. Non-limiting examples ofnon-articulated propulsion systems include, for example, an inboardmotor for a watercraft with a fixed thrust vector, for example, or afixed aircraft propeller or turbine. In other embodiments, propulsionsystem 170 may be articulated, for example, and/or may be coupled toand/or integrated with steering sensor/actuator 150, such that thedirection of generated motive force and/or thrust is variable relativeto a coordinate frame of mobile structure 101. Non-limiting examples ofarticulated propulsion systems include, for example, an outboard motorfor a watercraft, an inboard motor for a watercraft with a variablethrust vector/port (e.g., used to steer the watercraft), a sail, or anaircraft propeller or turbine with a variable thrust vector, forexample. As such, in some embodiments, propulsion system 170 may beintegrated with steering sensor/actuator 150.

Other modules 180 may include other and/or additional sensors,actuators, communications modules/nodes, and/or user interface devicesused to provide additional environmental information of mobile structure101, for example. In some embodiments, other modules 180 may include ahumidity sensor, a wind and/or water temperature sensor, a barometer, aradar system, a visible spectrum camera, an infrared camera, and/orother environmental sensors providing measurements and/or other sensorsignals that can be displayed to a user and/or used by other devices ofsystem 100 (e.g., controller 130) to provide operational control ofmobile structure 101 and/or system 100 that compensates forenvironmental conditions, such as wind speed and/or direction, swellspeed, amplitude, and/or direction, and/or an object in a path of mobilestructure 101, for example. In some embodiments, other modules 180 mayinclude one or more actuated and/or articulated devices (e.g.,spotlights, visible and/or IR cameras, radars, sonars, and/or otheractuated devices) coupled to mobile structure 101, where each actuateddevice includes one or more actuators adapted to adjust an orientationof the device, relative to mobile structure 101, in response to one ormore control signals (e.g., provided by controller 130).

In general, each of the elements of system 100 may be implemented withany appropriate logic device (e.g., processing device, microcontroller,processor, application specific integrated circuit (ASIC), fieldprogrammable gate array (FPGA), memory storage device, memory reader, orother device or combinations of devices) that may be adapted to execute,store, and/or receive appropriate instructions, such as softwareinstructions implementing a method for providing sonar data and/orimagery, for example, or for transmitting and/or receivingcommunications, such as sensor signals, sensor information, and/orcontrol signals, between one or more devices of system 100. In oneembodiment, such method may include instructions to receive anorientation, acceleration, position, and/or speed of mobile structure101 from various sensors, to determine a steering error or demandrelated to the sensor signals, and/or to control steeringsensor/actuator 150 and/or other actuators or elements of system 100 toadjust operation of system 100 accordingly, for example, as describedherein. In various embodiments, such method may include instructions forforming one or more communication links between various devices ofsystem 100.

In addition, one or more machine readable mediums may be provided forstoring non-transitory instructions for loading into and execution byany logic device implemented with one or more of the devices of system100. In these and other embodiments, the logic devices may beimplemented with other components where appropriate, such as volatilememory, non-volatile memory, and/or one or more interfaces (e.g.,inter-integrated circuit (I2C) interfaces, mobile industry processorinterfaces (MIPI), joint test action group (JTAG) interfaces (e.g., IEEE1149.1 standard test access port and boundary-scan architecture), and/orother interfaces, such as an interface for one or more antennas, or aninterface for a particular type of sensor).

Each of the elements of system 100 may be implemented with one or moreamplifiers, modulators, phase adjusters, beamforming components, digitalto analog converters (DACs), analog to digital converters (ADCs),various interfaces, antennas, transducers, and/or other analog and/ordigital components enabling each of the devices of system 100 totransmit and/or receive signals, for example, in order to facilitatewired and/or wireless communications between one or more devices ofsystem 100. Such components may be integrated with a correspondingelement of system 100, for example. In some embodiments, the same orsimilar components may be used to perform one or more sensormeasurements, as described herein.

Sensor signals, control signals, and other signals may be communicatedamong elements of system 100 using a variety of wired and/or wirelesscommunication techniques, including voltage signaling, Ethernet, WiFi,Bluetooth, Zigbee, Xbee, Micronet, or other medium and/or short rangewired and/or wireless networking protocols and/or implementations, forexample. In such embodiments, each element of system 100 may include oneor more modules supporting wired, wireless, and/or a combination ofwired and wireless communication techniques.

In some embodiments, various elements or portions of elements of system100 may be integrated with each other, for example, or may be integratedonto a single printed circuit board (PCB) to reduce system complexity,manufacturing costs, power requirements, coordinate frame errors, and/ortiming errors between the various sensor measurements. For example,gyroscope/accelerometer 144 and controller 130 may be configured toshare one or more components, such as a memory, a logic device, acommunications module, and/or other components, and such sharing may actto reduce and/or substantially eliminate such timing errors whilereducing overall system complexity and/or cost.

Each element of system 100 may include one or more batteries,capacitors, or other electrical power storage devices, for example, andmay include one or more solar cell modules or other electrical powergenerating devices (e.g., a wind or water-powered turbine, or agenerator producing electrical power from motion of one or more elementsof system 100). In some embodiments, one or more of the devices may bepowered by a power source for mobile structure 101, using one or morepower leads. Such power leads may also be used to support one or morecommunication techniques between elements of system 100.

In various embodiments, a logic device of system 100 (e.g., oforientation sensor 140 and/or other elements of system 100) may beadapted to determine parameters (e.g., using signals from variousdevices of system 100) for transforming a coordinate frame of otherelements of system 100 to/from a coordinate frame of mobile structure101, at-rest and/or in-motion, and/or other coordinate frames, asdescribed herein. One or more logic devices of system 100 may be adaptedto use such parameters to transform a coordinate frame of the otherelements of system 100 to/from a coordinate frame of orientation sensor140 and/or mobile structure 101, for example. Furthermore, suchparameters may be used to determine and/or calculate one or moreadjustments to an orientation of an element of system 100 that would benecessary to physically align a coordinate frame of the element with acoordinate frame of orientation sensor 140 and/or mobile structure 101,for example, or an absolute coordinate frame and/or other desiredpositions and/or orientations. Adjustments determined from suchparameters may be used to selectively power adjustment servos/actuators(e.g., of various elements of system 100), for example, or may becommunicated to a user through user interface 120, as described herein.

FIG. 1B illustrates a diagram of system 100B in accordance with anembodiment of the disclosure. In the embodiment shown in FIG. 1B, system100B may be implemented to provide directional control and/or otheroperational control of mobile structure 101, similar to system 100 ofFIG. 1B. For example, system 100B may include integrated userinterface/controller 120/130, secondary user interface 120, steeringsensor/actuator 150, sensor cluster 160 (e.g., orientation sensor 140,gyroscope/accelerometer 144, and/or GPS 146), and various other sensorsand/or actuators. In the embodiment illustrated by FIG. 1B, mobilestructure 101 is implemented as a motorized boat including a hull 105 b,a deck 106 b, a transom 107 b, a mast/sensor mount 108 b, a rudder 152,an inboard motor 170, an actuated sonar system 110 coupled to transom107 b, and an actuated device 164 (e.g., a camera, spotlight, or otheractuated device or sensor) coupled to mast/sensor mount 108 b thoughroll, pitch, and/or yaw actuator 162. In other embodiments, hull 105 b,deck 106 b, mast/sensor mount 108 b, rudder 152, inboard motor 170, andvarious actuated devices may correspond to attributes of a passengeraircraft or other type of vehicle, robot, or drone, for example, such asan undercarriage, a passenger compartment, an engine/engine compartment,a trunk, a roof, a steering mechanism, a headlight, a radar system,and/or other portions of a vehicle.

As depicted in FIG. 1B, mobile structure 101 includes actuated sonarsystem 110, which in turn includes transducer assembly 112 coupled totransom 107 b of mobile structure 101 through assembly bracket/actuator116 and transom bracket/electrical conduit 114. In some embodiments,assembly bracket/actuator 116 may be implemented as a roll, pitch,and/or yaw actuator, for example, and may be adapted to adjust anorientation of transducer assembly 112 according to control signalsand/or an orientation (e.g., roll, pitch, and/or yaw) or position ofmobile structure 101 provided by user interface/controller 120/130.Similarly, actuator 162 may be adapted to adjust an orientation ofactuated device 164 according to control signals and/or an orientationor position of mobile structure 101 provided by userinterface/controller 120/130. For example, user interface/controller120/130 may be adapted to receive an orientation of transducer assembly112 and/or actuated device 164 (e.g., from sensors embedded within theassembly or device), and to adjust an orientation of either to maintainsensing/illuminating a position and/or absolute direction in response tomotion of mobile structure 101, using one or more orientations and/orpositions of mobile structure 101 and/or other sensor informationderived by executing various methods described herein.

In one embodiment, user interfaces 120 may be mounted to mobilestructure 101 substantially on deck 106 b and/or mast/sensor mount 108b. Such mounts may be fixed, for example, or may include gimbals andother leveling mechanisms/actuators so that a display of user interfaces120 stays substantially level with respect to a horizon and/or a “down”vector (e.g., to mimic typical user head motion/orientation). In anotherembodiment, at least one of user interfaces 120 may be located inproximity to mobile structure 101 and be mobile throughout a user level(e.g., deck 106 b) of mobile structure 101. For example, secondary userinterface 120 may be implemented with a lanyard and/or other type ofstrap and/or attachment device and be physically coupled to a user ofmobile structure 101 so as to be in proximity to mobile structure 101.In various embodiments, user interfaces 120 may be implemented with arelatively thin display that is integrated into a PCB of thecorresponding user interface in order to reduce size, weight, housingcomplexity, and/or manufacturing costs.

As shown in FIG. 1B, in some embodiments, speed sensor 142 may bemounted to a portion of mobile structure 101, such as to hull 105 b, andbe adapted to measure a relative water speed. In some embodiments, speedsensor 142 may be adapted to provide a thin profile to reduce and/oravoid water drag. In various embodiments, speed sensor 142 may bemounted to a portion of mobile structure 101 that is substantiallyoutside easy operational accessibility. Speed sensor 142 may include oneor more batteries and/or other electrical power storage devices, forexample, and may include one or more water-powered turbines to generateelectrical power. In other embodiments, speed sensor 142 may be poweredby a power source for mobile structure 101, for example, using one ormore power leads penetrating hull 105 b. In alternative embodiments,speed sensor 142 may be implemented as a wind velocity sensor, forexample, and may be mounted to mast/sensor mount 108 b to haverelatively clear access to local wind.

In the embodiment illustrated by FIG. 1B, mobile structure 101 includesdirection/longitudinal axis 102, direction/lateral axis 103, anddirection/vertical axis 104 meeting approximately at mast/sensor mount108 b (e.g., near a center of gravity of mobile structure 101). In oneembodiment, the various axes may define a coordinate frame of mobilestructure 101 and/or sensor cluster 160. Each sensor adapted to measurea direction (e.g., velocities, accelerations, headings, or other statesincluding a directional component) may be implemented with a mount,actuators, and/or servos that can be used to align a coordinate frame ofthe sensor with a coordinate frame of any element of system 100B and/ormobile structure 101. Each element of system 100B may be located atpositions different from those depicted in FIG. 1B. Each device ofsystem 100B may include one or more batteries or other electrical powerstorage devices, for example, and may include one or more solar cellmodules or other electrical power generating devices. In someembodiments, one or more of the devices may be powered by a power sourcefor mobile structure 101. As noted herein, each element of system 100Bmay be implemented with an antenna, a logic device, and/or other analogand/or digital components enabling that element to provide, receive, andprocess sensor signals and interface or communicate with one or moredevices of system 100B. Further, a logic device of that element may beadapted to perform any of the methods described herein.

When a mobile structure is subjected to a wind or sea disturbance, asteering error can follow some moments later. Steering control can beimproved by measuring disturbances directly or indirectly, anticipatingthe impending effect, and correcting immediately (e.g., before or atsubstantially the same time the mobile structure reacts to thedisturbance). For example, in one embodiment, pitch data may be used toestablish where a watercraft is in a wave pattern and to generatecorresponding steering corrections. Other or additional corrections maybe generated from heel/roll angle (and, for sailboats, wind gusts),which can also create disturbances.

Autopilots typically use feedback control to correct in response to ameasured error, such as a heading error, a wind angle error, or an offtrack error/distance. By contrast, an experienced human pilot takes intoaccount other factors (e.g., roll angle, wind gusts, pitch angle,position in the wave cycle, and/or other environmental conditions orstates) to anticipate motion of the mobile structure, and the pilotapplies corrective action before the mobile structure has deviatedsubstantially from a target heading or orientation. To improve coursekeeping performance of autopilots, feed-forward controller terms arebeneficial to bring autopilot steering up near to the capability of anexperienced pilot.

A major hurdle to implementing such proactive algorithms is that everytype of mobile structure behaves differently from others, and even thebehavior of a single mobile structure may vary during different statesof the mobile structure (e.g., when an engine is started or a sail isreefed). Furthermore, autopilots have traditionally been user calibratedwith a plethora of demands placed on the user to optimize performance bysetting a variety of controller gains directly or indirectly. Thechallenge is to automatically determine how much steering angle to applyin response to a gust, wave, pitch angle, roll angle, or otherdisturbance, in a context where every mobile structure (e.g., everywatercraft) has a unique time varying response characteristic.

Ocean waves can be modeled using the linear superposition of sine waveswith different frequencies, amplitudes, lengths, phase, and direction ofpropagation, for example. Because density, gravity and viscosity can betaken as physical constants, waves can be described according to alimited number of certain characteristics, and only a subsetsignificantly impact directional control of a watercraft. One suchcharacteristic is the orbital velocity of water particles in a wave nearthe surface (e.g., in a range that interacts with hull 105 b, rudder152, and/or propulsion system 170 of mobile structure 101.

FIG. 2A illustrates a distribution of orbital velocity of water in awave in accordance with an embodiment of the disclosure. For example, asshown in diagram 200 of FIG. 2, water particles 210 have the mostpronounced orbital velocity if they are near the surface, and theleading and trailing slopes of each wave tends to draw flow towards thecrest of the wave.

Orbital motion is particularly important because it can affect flow overa watercraft's rudder and cause steering difficulties when navigatingfollowing seas, such as that shown in FIG. 2B, and particularly inquartering seas, such as that shown in FIG. 2C. FIG. 2B includes diagram202 illustrating mobile structure 101 oriented to head down a wave 220and into trough 224, in accordance with an embodiment of the disclosure.FIG. 2C includes diagram 204 illustrating mobile structure 101 orientedto head across wave 220 and into trough 224, in accordance with anembodiment of the disclosure.

The difficulty in such circumstances is that the flow over a rudder maybe modified by the orbital motion/velocity, which can have the combinedeffect of pushing the watercraft off course and slowing the flow overthe rudder, thereby reducing the rudder's ability to steer mobilestructure 101. A skilled helmsman anticipates and corrects for theseeffects, but autopilots (or novice helmsmen) suffer occasional broacheswhere the wave violently and dangerously forces the boat side on to thepropagation direction of the wave (e.g., see mobile structure 101 inFIG. 2C).

Using an attitude and heading reference system (AHRS) (e.g., orientationsensor 140 and/or gyroscope/accelerometer 144), it is possible todetermine wave height. Wave height may be determined by doubleintegration of a vertical acceleration measured bygyroscope/accelerometer 144, for example, and, in some embodiments,determining a bias, drift, or offset in the measurements andcompensating for or removing them from the resulting calculated height.For example, in various embodiments, such integration may be implementedand/or operated according to any one or combination of the systems andmethods described in International Patent Application No.PCT/US2014/26725 filed Mar. 13, 2014 and entitled “WIND SENSOR MOTIONCOMPENSATION SYSTEMS AND METHODS,” which is incorporated herein byreference in its entirety.

For shallow water, knowing the height, and knowing the depth of the seabed under the watercraft (e.g., determined using an echo sounder and/orsonar system 110), the horizontal component of the orbital velocity maybe may be proportional to A*sqrt(g/depth), where A is the wave amplitude(half the wave height), and g is the acceleration of gravity on Earth(˜9.81). For example in 10 m of water, long waves (e.g., >200 m with >11s period and 2 m height), would have a horizontal velocity ofapproximately 1 m/s.

For shorter waves or deeper water, the formula is more complex and wavecharacterization may instead correspond to the timing of the intervalbetween waves (e.g., points of equal pitch for a watercraft). Thewatercraft's speed is relevant because the encounter frequency is afunction of both the wave phase speed and the watercraft's speed. Fromthis basis, a set of equations which link encounter frequency (orperiod) to wave frequency (or length) may be determined. These equationsmay be based on the wave formula: y=a*sin(wt+kx), where k is the wavenumber and x is the horizontal displacement, and on the gravity waverelationship: lambda=2*pi*g/ŵ2, where lambda is the wavelength and g isthe acceleration of gravity. These equations generate two possiblesolutions for wave characterization, which can be used to estimatecharacteristics of the wave and its corresponding orbital motion.

The estimated orbital motion (e.g., speed and direction) may be combinedwith the watercraft's speed in a vector triangle to obtain a relativeflow direction over the watercraft's rudder. FIG. 3 illustrates a wavebased disturbance of mobile structure 101 in accordance with anembodiment of the disclosure. As shown in FIG. 3, mobile structure 101is experiencing net rudder flow 352 corresponding to the sum of itsvelocity 350 (e.g., heading and/or speed over ground) and the waveorbital motion 320 corresponding to the position of rudder 152 of mobilestructure 101 with respect to crest 222 and trough 224. As can be seenfrom FIGS. 2A and 3, the difficult point in the wave cycle is justbefore the crest of the wave, where there is a lower flow speed at therudder, thereby reducing the rudder's effectiveness, and a flowdirection against the watercraft that pushes the watercraft across thewave, potentially causing a broach.

To counteract this disturbance, a disturbance model may be configured tofeed an autopilot controller a continuously varying zero offset term(e.g., a directional bias of the steering angle, or a steering angledisturbance adjustment/estimate) corresponding to the angle between netrudder flow 352 and velocity 350 of FIG. 3 so that a neutral rudder(e.g., a steering angle where the heading and/or orientation of mobilestructure 101 stays constant while mobile structure 101 is in motion) isrelated to local water flow. For example, the disturbance model may beconfigured to characterize the wave to determine and/or estimate orbitalmotion at rudder 152 and determine net rudder flow 352 accordingly. Thedisturbance model may then be configured to determine the steering angledisturbance adjustment/estimate based on net rudder flow 352 and providethe steering angle disturbance adjustment/estimate to the autopilotcontroller, as described herein. Furthermore, should it be consideredsafer or more fuel efficient to steer down the wave (e.g., towardstrough 224), the autopilot controller may be configured to use thesteering angle disturbance adjustment/estimate provided by thedisturbance model to do so.

Some disturbances are specific to specific types of mobile structures.For example, sail powered mobile structures, such as sailboats, mayexperience multifaceted disturbance when wind causes the orientation ofthe sailboat to change. FIG. 4 includes diagram 400 illustrating a heelor roll based disturbance of a sailboat 101 caused by wind 442 inaccordance with an embodiment of the disclosure. As shown in FIG. 4,sailboat 101 includes sail 470 and is traveling over crest 222 and intotrough 224 under motive force 472 provided by interaction between sail470 and wind 442.

The collective effect of the forces on the sail-plan of sailboat 101 canbe considered as force 472 acting at a center of effort (e.g., typicallywithin the envelope of sail 470 and where it attaches to sailboat 101).When sailboat 101 heels (e.g., rolls), the center of effort experiencesan offset 474 from the center of resistance (e.g., the flow of waterunder the hull/keel), and this creates a turning moment 476 (e.g., ayaw), to which the helmsman or autopilot must react with weather helm.In various embodiments, the weather helm may refer to an offset insteering angle selected to counteract a disturbance that would otherwisecause mobile structure 101 to turn. If the wind speed or the heel angleincreases, or the wind direction changes, then more weather helm may berequired to maintain a heading of mobile structure 101. In both sail andpower boats, the asymmetry of a heeled/rolled hull causes a similareffect and must also be counteracted if a heading for mobile structure101 is to be maintained. A feed forward disturbance model can improvesteering over simple error feedback autopilot controllers by applyingmore helm immediately, in the form of a steering angle disturbanceadjustment/estimate, so long as the disturbance model has access tomeasurements of roll angle and wind speed/direction and can reliablydetermine and/or estimate the relationship between gust/roll and weatherhelm for mobile structure 101.

Such relationship can be difficult to estimate because the amount ofweather helm may be dependent on many variables (e.g., mast height, sailarea, rudder size, and/or other characteristics of mobile structure101). One solution is adaptively learning the relationship by recordingvarious environmental sensor data and states for mobile structure 101,which builds up a statistical picture/histogram of the relationshipthrough observation of the boat's response over time. However, sinceyacht designers build boats to have the right ‘feel’ (e.g., weather helmto roll relationship) for safe and/or generally comfortable and stabletravel, the actual variability in the field is relatively low. As such,another solution is to construct a feed-forward disturbance model and/orcontroller based on a typical relationship and use that typicalrelationship as a basis for controlling multiple mobile structures.

A preferred solution is to use a steady state standing helm (e.g., abias or trim) as a gain value in the simplified formula:RudderAngleOffset=K*sin(phi)Ŵ2, where K is a gain, phi is the rollangle, and W may be the component of the apparent wind speed that issubstantially perpendicular to the heading of mobile structure 101. Insome embodiments, the RudderAngleOffset may correspond to a steeringangle disturbance adjustment/estimate or a component of a steering angledisturbance adjustment/estimate provided by a feed forward disturbancemodel. Such relationship can be simplified to an equation involving onlythe roll angle by assuming that wind loading on the sails isproportional to the sine of the roll angle and by using the small angleapproximation sin(phi)˜=phi: RudderAngleOffset=K*(phi)̂2. In variousembodiments, such feed forward solutions (e.g., provided by a feedforward disturbance model) may be used in conjunction with a feedbackcontroller to address errors in the feed-forward model and otherun-modeled factors, as described herein.

All of the above rudder angle feed-forward demands (e.g., the steeringangle disturbance adjustments/estimates) can be implemented and/orintegrated with an adaptive feedback controller. In one embodiment,various components of the feed-forward signals are added to create asteering angle disturbance estimate, and the steering angle disturbanceestimate is combined with a feedback controller signal to create anoverall rudder demand that is provided to steering sensor/actuator 150.

In various embodiments, a disturbance model may be configured to useAHRS data, such as pitch information for mobile structure 101, todetermine various wave characteristics (e.g., height, length, period,propagation direction), in addition to a heading for mobile structure101, to determine the position of mobile structure 101 in the wave cycle(e.g., crest or trough or intermediate, following or approaching) andthe orbital velocity of the wave at rudder 152. In some embodiments, adisturbance model may be configured to use roll angles to determine therelative heading to the wave propagation direction. In otherembodiments, a lateral speed for mobile structure 101 (e.g., waveinduced sway) can be derived from wave characteristics and a heading formobile structure 101.

With knowledge of the water velocity under the rudder, and the boat'sposition in the wave cycle, a disturbance model and/or an autopilotincorporating a disturbance model may be configured to applycorresponding steering corrections, such as using the wave velocity in avector triangle with the speed to determine a local neutral flow angleat rudder 152 and correcting the neutral rudder angle in the autopilotaccordingly. In some embodiments, an autopilot may be configured to usesuch information to providing a further steering angle disturbanceadjustment and/or to steer down a wave. More generally, operation of anautopilot may include using nominal vehicle feedback to normalizepiloting dynamics and create a robust feed forward adaptive directionalcontroller, as described herein.

In other embodiments, a disturbance model and/or autopilot controllermay be configured to use AHRS data such as roll angles along with windsensor data (e.g., wind speed and/or direction) to determine a steeringangle disturbance estimate and to apply the steering angle disturbanceestimate (e.g., in the form of a weather helm component) as a functionof heel/roll angle and wind speed, based on a typical windspeed/roll/turn moment mathematical relationship, as described herein.In some embodiments, a disturbance model and/or autopilot controller maybe configured to store such data, along with corresponding states formobile structure 101, over time, and determine a statisticalrelationship between stored weather helm components and stored windspeeds, wind directions, and/or series of roll angles, to determine orrefine the mathematical relationship. As noted above determining suchrelationship may in some embodiments include using nominal vehiclefeedback to normalize piloting dynamics and create a flexible andaccurate feed forward adaptive directional controller.

FIG. 5 illustrates a flow diagram of a control loop 500 to providestabilized directional control in accordance with an embodiment of thedisclosure. In some embodiments, the operations of FIG. 5 may beperformed by controller 130 processing and/or operating on measurements(e.g., sensor signals) received from one or more of sensors 140-146,steering sensor/actuator 150, propulsion system 170, user interface 120,and/or other modules 180. For example, in various embodiments, controlloop 500 (and/or control loop 600 of FIG. 6) may be implemented and/oroperated according to any one or combination of the systems and methodsdescribed in International Patent Application No. PCT/US2014/013441filed Jan. 28, 2014 and entitled “STABILIZED DIRECTIONAL CONTROL SYSTEMSAND METHODS,” and/or U.S. patent application Ser. No. 14/321,646 filedJul. 1, 2014 and entitled “STABILIZED DIRECTIONAL CONTROL SYSTEMS ANDMETHODS,” U.S. Provisional Patent Application No. 62/099,016 filed Dec.31, 2014 and entitled “ADAPTIVE TRACK KEEPING SYSTEMS AND METHODS”,and/or U.S. Provisional Patent Application No. 62/099,022 filed Dec. 31,2014 and entitled “STABILIZED DIRECTIONAL CONTROL SYSTEMS AND METHODS”,each of which is hereby incorporated by reference in their entirety.

Each block may be implemented entirely as instructions executed bycontroller 130, for example, or may be implemented in a combination ofexecutable instructions and hardware. It should be appreciated that anystep, sub-step, sub-process, or block of control loop 500 may beperformed in an order or arrangement different from the embodimentillustrated by FIG. 5. For example, although control loop 500 includesblock 504, in other embodiments, block 504 may not be present. Invarious embodiments, control loop 500 may include various aspects ofcontrol loop 600 of FIG. 6.

In block 502, controller 130 receives a target heading from userinterface/controller 130 and a measured heading 541 from heading sensor540 and combines them to produce an error output that is then providedto block 504. For example, controller 130 may be adapted to receive atarget heading as user input from user interface 120 and measuredheading 541 as a sensor signal provided by, for example, orientationsensor 140. In other embodiments, heading sensor 540 may be implementedas one or more of sensors 140-146 and/or other modules 180. In someembodiments, the error output may represent a difference between atarget heading and measured heading 541.

In block 504, controller 130 uses and/or executes, for example, a gainmodule to receive the error output of block 502 and provide a steeringdemand to block 508 a. Various parameters (e.g., a gain) of block 504may be used to determine the steering demand output by block 504. Insome embodiments, block 504 may be implemented as aproportional-derivative-integral controller with one or more of thecorresponding gain terms (e.g., proportional, derivative, and/orintegral) set to zero. In one embodiment, parameters of theproportional-derivative controller module may be managed to produce acritically damped response with a time constant of 6*Tn (e.g., where Tnis defined herein) and with a damping ratio of 1.25, for example, tosufficiently tune the proportional-derivative controller module forrelatively high vehicle speeds. In further embodiments, controller 130may be configured to modify one or more of the gain terms and/or otherparameters of block 504 based on adaptive training of control loop 500,as described herein.

In block 508 a, controller 130 receives a steering demand from block 504and a filtered nominal vehicle feedback signal from block 522 andcombines them to produce a feedback adjusted steering demand that isthen provided (e.g., as a controller signal) to steering sensor/actuator130. In some embodiments, the feedback adjusted steering demand mayrepresent a difference between the steering demand and the filterednominal vehicle feedback signal. In further embodiments, the filterednominal vehicle feedback signal from block 522 may be an initialcondition set for block 522. In still further embodiments, the filterednominal vehicle feedback signal from block 522 may be determined bynominal vehicle feedback system 510 using measured inputs, such as fromplant 550 (e.g., which may correspond to steering sensor/actuator 150and/or a steering rate sensor).

In block 508 b, controller 130 receives a feedback adjusted steeringdemand from block 508 a and steering angle disturbance estimate fromblock 534 and combines them to produce a disturbance adjusted steeringdemand that is then provided (e.g., as a controller signal) to plant550. In some embodiments, adjusted steering demand 409 may represent adifference between the feedback adjusted steering demand and thesteering angle disturbance estimate. In still embodiments, the filterednominal vehicle feedback signal from block 522 may be determined bynominal vehicle feedback system 510 using measured inputs.

In block 534, controller 130 receives one or more environmental sensorsignals from input 532 and determines a steering angle disturbanceestimate that is then provided to block 508 b. In some embodiments, thesteering angle disturbance estimate may include one or more components,such as a rudder trim component configured to compensate for an orbitalvelocity of water near rudder 152, for example, or a weather helmcomponent configured to compensate for a turning moment caused by rollof mobile structure 101 associated with wind blowing across mobilestructure 101. In various embodiments, block 534 may be implemented as afeed forward disturbance model configured to determine the steeringangle disturbance adjustment based, at least in part, one or moreenvironmental conditions associated with mobile structure 101, such aswind blowing across a body of water, for example, or a wave pattern on abody of water.

In one embodiment, controller 130 may be configured to determine a waveheight, length, period, and/or propagation direction for a wave patternbased, at least in part, on a series of pitch angles for mobilestructure 101. Controller 130 may be configured to determine an orbitalvelocity associated with water at rudder 152 based, at least in part, onthe wave characteristics, and to determine a corresponding rudder trimcomponent of the steering angle disturbance adjustment. In someembodiments, controller 130 may be configured to determine thepropagation direction for the wave pattern based, at least in part, on aseries of roll angles of mobile structure 101 (e.g., provided byorientation sensor 140 and/or gyro/accelerometer 144). Controller 130may derive a lateral speed from the propagation direction, for example,and include that in the rudder trim component. In other embodiments,controller 130 may be configured to steer mobile structure in thepropagation direction for the wave pattern in order to steer down awave.

In another embodiment, controller 130 may be configured to receive oneor more wind speeds, wind directions, and/or a series of roll angles formobile structure 101 corresponding to the wind speeds and/or winddirections, for example, and to determine at least one weather helmcomponent of the steering angle disturbance adjustment based, at leastin part, on the heading, and/or a mathematical relationship between theweather helm components and the wind speeds, wind directions, and/orseries of roll angles. In some embodiments, the mathematicalrelationship may be provided by a user or a manufacturer. In otherembodiments, controller 130 may be configured to determine and/or refinethe mathematical relationship, particular to mobile structure 101, bystoring the wind speeds, the wind directions, the series of roll angles,and/or the weather helm components and determining a statisticalrelationship (e.g., a histogram and/or other statistical relationship)between the stored weather helm components and the wind speeds, winddirections, and/or series of roll angles, to determine and/or refine themathematical relationship.

In block 512, controller 130 receives a feedback adjusted steeringdemand from block 508 a and a nominal vehicle feedback signal from block520 and combines them to produce a feedback adjusted steering angle thatis then provided to block 514. In some embodiments, the feedbackadjusted steering angle may represent a difference between the feedbackadjusted steering demand and the nominal vehicle feedback signal. Infurther embodiments, the nominal vehicle feedback signal from block 520may be an initial condition set for block 220. In still furtherembodiments, the nominal vehicle feedback signal from block 520 may bedetermined by nominal vehicle feedback system 510 using measured inputs,as described herein.

In block 514, controller 130 uses and/or executes a nominal vehiclepredictor to receive, process, and/or operate on an feedback adjustedsteering angle from block 512 and provide a nominal vehicle steeringrate to block 516. In some embodiments, the nominal vehicle predictormay be implemented as a transfer function (e.g., in the S-plane) adaptedto model dynamics of a nominal vehicle derived, at least in part, from aselection of vehicles, as described herein. In one embodiment, thetransfer function may be implemented in the form of a ratio of a nominalvehicle steering rate gain term “Kn” to a nominal vehicle steering ratelag term “1+Tn*s”, as described herein.

For example, the nominal vehicle steering rate gain term “Kn” may beequal to the ratio (steering rate)/(steering angle), which models theamount of steering rate (e.g., yaw rate, in some embodiments) achievedfor a nominal vehicle for each degree of steering angle. In someembodiments, the nominal vehicle steering rate gain term “Kn” may becorrected by the nominal vehicle steering rate lag term “1+Tn*s”, whichmodels the time (e.g., in Tn seconds) for the steering rate to developafter application of the steering angle. In some embodiments, controlloop parameters Kn and/or Tn may be dependent on a speed of the nominalvehicle in a medium, such as air or water. In such embodiments, thespeed of the controlled vehicle may be used as the speed of the nominalvehicle. In other embodiments, the transfer function may be implementedas a different function according to a particular type of nominalvehicle being modeled, a type of steering mechanism being controlled,and/or a type of control loop being implemented.

In some embodiments, Kn and Tn may be set to respective mean values of apopulation of vehicles to be controlled, for example, as a function ofspeed. In other embodiments, Kn may be set to exceed a majority ofand/or all K values of a population of vehicles to be controlled, as afunction of speed, to reduce a risk of excessive steering actuatoractivity. In further embodiments, Tn may be set to exceed a majority ofand/or all T values of a population of vehicles to be controlled, as afunction of speed, and/or above 1 second to reduce a risk of excessivesteering actuator activity and/or to reduce a need for a high clockingrate of controller 130 (e.g., above 100 Hz). In some embodiments, thepopulation of vehicles to be controlled may correspond to a type ofvehicle, such as a type of plane, automobile, or watercraft (e.g.,sailboat, powerboat, ship, submarine, and/or other vessel capable ofoperating in or on water). In various embodiments, values of K and T fora population of vehicles may be determined and/or approximated throughperformance of real-time trials, control loop modeling (e.g., using oneor more of the control loops described herein), and/or estimation.

Advantageously, the nominal vehicle predictor may be implemented as atransfer function acting on only one (e.g., steering rate) of the twostate variables (e.g., heading and steering rate) of the control loop,which makes implementation easier due to, at least in part, a reducedneed for computing resources. In various embodiments, controller 130 maybe configured to store the nominal vehicle steering rate output of block514 before proceeding to block 516.

In block 516, controller 130 receives a steering rate from plant 550 anda nominal vehicle steering rate from block 514 and combines them toproduce a differential steering rate that is then provided to block 518.In some embodiments, the differential steering rate may represent adifference between the steering rate and the nominal vehicle steeringrate. In various embodiments, plant 550 may be implemented as one ormore of orientation sensor 140, gyroscope and/or accelerometer 142,speed sensor 144, GPS 146, steering sensor/actuator 150, propulsionsystem 170, and/or other modules 180. For example, controller 130 may beadapted to determine a measured steering rate from sensor signalsreceived from one or more of sensors 140-146 and/or other modules 180.

In blocks 518 and 520, controller 130 receives a differential steeringrate from block 516, applies a feedback gain (e.g., block 518) to thedifferential steering rate, and integrates (e.g., block 520) theamplified differential steering rate to produce a nominal vehiclefeedback signal 521 that is then provided to blocks 512 and 522. Invarious embodiments, the gain applied by block 518 is a control loopparameter that may be modified by user input and/or adaptive training bycontrol loop 500.

In additional embodiments, a sub-control loop including at least blocks512, 514, 516, 518, and/or 520 may be iterated multiple times for eachupdate of, for example, plant 550. In such embodiments, inputs of blocks512 and/or 516 may be set to a prior-used value for a number ofiterations of the sub-control loop. In some embodiments, such asub-control loop (e.g., nominal vehicle feedback system 510, optionallyincluding block 522) may be implemented as a device and/or instructionsseparate from a device and/or instructions implementing one or more ofthe remaining blocks of control loop 500, for example. For instance,block 504 and/or nominal vehicle feedback system 510 may be implementedas separate electronic devices.

In block 522, controller 130 filters a nominal vehicle feedback signaloutput by block 520 and provides a filtered nominal vehicle feedbacksignal to block 508 a. In some embodiments, block 522 may be implementedas a low pass filter. In further embodiments, block 522 may beimplemented with a selectable bandwidth that can be modified based on auser-selectable responsiveness setting. In other embodiments, the filterbandwidth is a control loop parameter that may be modified based on areceived user input and/or adaptive training implemented with controlloop 500. For example, the filter bandwidth may be modified based on atarget acceptable output noise level in the feedback adjusted steeringdemand.

In additional embodiments, a sub-control loop including blocks 508 a,512, 514, 516, 518, 520, 522, and/or 532 and 534 may be iteratedmultiple times for each update of, for example, blocks 502 and/or 506.In such embodiments, an input of block 508 a corresponding to an outputof block 504 may be set to a prior-used value for a number of iterationsof the sub-control loop. In some embodiments, such a sub-control loopmay be implemented as a device and/or instructions separate from adevice and/or instructions implementing one or more of the remainingblocks of control loop 500, for example. For instance, blocks 502 and/or504 may be implemented as an electronic device separate from controller130 in FIG. 1.

In one embodiment, nominal vehicle feedback system 510 may beimplemented as an electronic device adapted to be installed on a vehiclewith an existing directional control system including aproportional-derivative and/or proportional derivative controller moduleand one or more components similar to sensors 140-146, steeringsensor/actuator 150, and/or other modules 180 of FIG. 1.

In embodiments where control loop 500 is implemented with aproportional-differential controller module and a nominal vehiclepredictor (e.g., block 512), embodiments of control loop 500 may beimplemented as a critically damped control loop with a higher bandwidth(e.g., responsiveness) than if the nominal vehicle predictor were actingalone to stabilize directional control of, for example, mobile structure101. For example, a controller implementing control loop 500 may includea proportional-derivative controller allowing freedom to design acritically damped controller with higher bandwidth than if a nominalvehicle predictor were acting alone to stabilize yaw (e.g., in someembodiments, the nominal vehicle predictor feedback may pass through afilter with relatively low bandwidth because a high gain in the nominalvehicle predictor can introduce noise). Further examples are providedbelow in relation to FIG. 6.

In accordance with various embodiments of the present disclosure,various control loop parameters, user inputs, sensor signals, controllersignals, and other data, parameters, and/or signals described inconnection with control loop 500 may be stored at various points in thecontrol loop, including within and/or during execution of any one of theblocks of a particular control loop.

FIG. 6 illustrates a flow diagram of a control loop to provide proactivedirectional control in accordance with an embodiment of the disclosure.In some embodiments, the operations of FIG. 3 may be performed bycontroller 130 processing and/or operating on signals received from oneor more of sensors 140-146, steering sensor/actuator 150, propulsionsystem 170, user interface 120, and/or other modules 180. Each block maybe implemented entirely as instructions executed by controller 130, forexample, or may be implemented in a combination of executableinstructions and hardware. It should be appreciated that any step,sub-step, sub-process, or block of control loop 600 may be performed inan order or arrangement different from the embodiment illustrated byFIG. 6. For example, although control loop 600 includes block 606, inother embodiments, block 606 may not be present. Outputs of variousblocks in control loop 600 may be set as initial conditions prior tocontroller 130 executing block 602. Moreover, controller 130 may beconfigured to store the output of any block before proceeding to otherblocks in control loop 600.

In various embodiments, control loop 600 may include various aspects ofcontrol loop 200 of FIG. 2, control loop 300 of FIG. 3, and/or filter216 of FIG. 5. For example, as shown in FIG. 6, control loop 600includes nominal vehicle feedback system 610 corresponding to aspects ofcontrol loop 200 and/or 300. Additionally, blocks and/or modulesproviding modeled data in control loops 200 and/or 300 may be absent incontrol loop 600 and replaced with one or more sensors providingmeasured data in place of the modeled data.

In block 602, controller 130 receives target heading 106 and a measuredheading 641 from heading sensor 640 and combines them to produce anerror output that is then provided to block 604. For example, controller130 may be adapted to receive target heading 106 as user input from userinterface/controller 120/130 and measured heading 641 as a sensor signalprovided by, for example, orientation sensor 140. In other embodiments,heading sensor 640 may be implemented as one or more of sensors 140-146and/or other modules 180. In some embodiments, the error output mayrepresent a difference between target heading 106 and measured heading641.

In block 604, controller 130 uses and/or executes, for example, aproportional-derivative controller module to receive the error output ofblock 602 and provide a steering demand to block 606. Various parametersof block 604 may be used to determine the steering demand output byblock 604. In some embodiments, block 604 may be implemented as aproportional-derivative-integral controller with one or more of thecorresponding gain terms (e.g., proportional, derivative, and/orintegral) set to zero. In one embodiment, parameters of theproportional-derivative controller module may be managed to produce acritically damped response with a time constant of 6*Tn and with adamping ratio of 1.25, for example, to sufficiently tune theproportional-derivative controller module for relatively high mobilestructure speeds.

In other embodiments, controller 130 may be configured to modify one ormore of the parameters, gain terms, a deadband, and/or a limit on theoutput of the proportional-derivative orproportional-derivative-integral controller module based on aresponsiveness setting received from user interface 120 (e.g., before,after, or at approximately the same time target heading 106 isreceived). For example, a responsiveness setting (e.g., Performance,Cruising, Economy) may allow a user to choose between a sharper responseor reduced steering mechanism (e.g., rudder 152) activity, as describedherein. In further embodiments, controller 130 may be configured tomodify one or more of the gain terms and/or other parameters of block604 based on adaptive training of control loop 600, as described herein.

In block 606, controller 130 uses and/or executes a steering demandlimiter to receive the steering demand output of block 604 and provide alimited steering demand (e.g., a limited rudder demand) to block 608. Insome embodiments, the steering demand limiter may be adapted to limitthe steering demand to produce a steering actuator rate demand less thana steering actuator rate limit and/or a steering demand less than asteering actuator angle limit. For example, steering sensor/actuator 150may be implemented to have a steering actuator rate limit “R”. Asteering actuator rate demand may be directly proportional to a steeringdemand multiplied by a proportional gain term “Kg” of block 604 and asteering rate gain term “K”, as defined herein, for mobile structure101. To ensure the steering actuator rate is less than the steeringactuator rate limit “R”, it is sufficient to limit the steering demandprovided by block 604 according to the steering actuator rate limitequation:

steering demand<R/(K*Kg);

where K is the forward gain of the mobile structure, as defined herein,and Kg represents the degree of steering demand (e.g., rudder demand)for each degree of error (e.g., degree of heading error) output by block602.

In some embodiments, Kg may be an overall gain provided by an embodimentof block 604 including a proportional-derivative controller or aproportional-derivative-integral controller. In further embodiments,where K for mobile structure 101 is unknown, K can be determined by anautolearn procedure in an initial directional control trial, forexample, or may be brought to a nominal or target value through use ofan adaptive algorithm utilizing an appropriate control loop including anominal vehicle predictor, such as control loop 200 in FIG. 2. In stillfurther embodiments, the steering actuator rate limit equation may bemodified to replace “K” with a term including corrections for lag andother second order effects, as described herein.

In some embodiments, one or more of blocks 602, 604, 606, and/or 608, incombination with steering sensor actuator 650 and/or other elements ofsystem 100 and/or control loop 600 may be implemented and/or operated tocontrol steering sensor/actuator according to any one or combination ofthe systems and methods described in U.S. Provisional Patent ApplicationNo. 61/934,678 filed Jan. 31, 2014 and entitled “HYDRAULIC SLIPCOMPENSATION SYSTEMS AND METHODS”, which is hereby incorporated byreference in its entirety.

In block 608, controller 130 receives a limited steering demand fromblock 606, a filtered nominal vehicle feedback signal from block 616,and a steering angle disturbance estimate from block 634, and combinesthem to produce a disturbance adjusted steering demand 609 that is thenprovided (e.g., as a controller signal) to steering sensor/actuator 150.In some embodiments, disturbance adjusted steering demand 609 mayrepresent a difference between the limited steering demand and thefiltered nominal vehicle feedback signal and the steering angledisturbance estimate. In further embodiments, the filtered nominalvehicle feedback signal from block 616 may be an initial condition setfor block 616. In still further embodiments, the filtered nominalvehicle feedback signal from block 616 may be determined by nominalvehicle feedback system 610 using measured inputs as shown.

In block 634, controller 130 receives one or more environmental sensorsignals from block 632 and determines a steering angle disturbanceestimate that is then provided to block 608. In some embodiments, thesteering angle disturbance estimate may include one or more components,such as a rudder trim component configured to compensate for an orbitalvelocity of water near rudder 152, for example, or a weather helmcomponent configured to compensate for a turning moment caused by rollof mobile structure 101 associated with wind blowing across mobilestructure 101. In various embodiments, block 634 may be implemented as afeed forward disturbance model configured to determine the steeringangle disturbance adjustment based, at least in part, one or moreenvironmental conditions associated with mobile structure 101, such aswind blowing across a body of water, for example, or a wave pattern on abody of water.

In one embodiment, controller 130 may be configured to determine a waveheight, length, period, and/or propagation direction for a wave patternbased, at least in part, on a series of pitch angles for mobilestructure 101. Controller 130 may be configured to determine an orbitalvelocity associated with water at rudder 152 based, at least in part, onthe wave characteristics, and to determine a corresponding rudder trimcomponent of the steering angle disturbance adjustment. In someembodiments, controller 130 may be configured to determine thepropagation direction for the wave pattern based, at least in part, on aseries of roll angles of mobile structure 101 (e.g., provided byorientation sensor 140 and/or gyro/accelerometer 144). Controller 130may derive a lateral speed from the propagation direction, for example,and include that in the rudder trim component. In other embodiments,controller 130 may be configured to steer mobile structure in thepropagation direction for the wave pattern in order to steer down awave.

In another embodiment, controller 130 may be configured to receive oneor more wind speeds, wind directions, and/or a series of roll angles formobile structure 101 corresponding to the wind speeds and/or winddirections, for example, and to determine at least one weather helmcomponent of the steering angle disturbance adjustment based, at leastin part, on the heading, and/or a mathematical relationship between theweather helm components and the wind speeds, wind directions, and/orseries of roll angles. In some embodiments, the mathematicalrelationship may be provided by a user or a manufacturer. In otherembodiments, controller 130 may be configured to determine and/or refinethe mathematical relationship, particular to mobile structure 101, bystoring the wind speeds, the wind directions, the series of roll angles,and/or the weather helm components and determining a statisticalrelationship (e.g., a histogram and/or other statistical relationship)between the stored weather helm components and the wind speeds, winddirections, and/or series of roll angles, to determine and/or refine themathematical relationship.

In block 612, controller 130 uses and/or executes a nominal vehiclepredictor to receive, process, and/or operate on a measured steeringrate 643 (e.g., as a sensor signal) from steering rate sensor 642 andprovide a nominal vehicle steering angle 620 to block 614. In variousembodiments, steering rate sensor 642 may be implemented as one or moreof orientation sensor 140, gyroscope and/or accelerometer 122, speedsensor 124, GPS 126, steering sensor/actuator 150, and/or other modules180. For example, controller 130 may be adapted to determine a measuredsteering rate from sensor signals received from one or more of sensors140-146, gyro/accelerometer 130, and/or other modules 180. In someembodiments, controller 130, heading sensor 640, steering rate sensor642, and/or other elements of system 100 and/or control loop 600 may beimplemented and/or operated to determine a measured steering rateaccording to any one or combination of the systems and methods describedin U.S. Provisional Patent Application No. 61/942,517 filed Feb. 20,2014 and entitled “ACCELERATION CORRECTED ATTITUDE ESTIMATION SYSTEMSAND METHODS”, which is hereby incorporated by reference in its entirety.

In some embodiments, the nominal vehicle predictor may be implemented asa transfer function (e.g., in the S-plane) adapted to model dynamics ofa nominal vehicle derived, at least in part, from a selection of mobilestructures, as described herein. In one embodiment, the transferfunction may be implemented in the form of a ratio of a nominal vehiclesteering rate lag term “1+Tn*s” to a nominal vehicle steering rate gainterm “Kn”, which may be expanded to “Fn*s+Kn” as described similarly inconnection with block 212 of FIG. 2. In another embodiment, the transferfunction may be implemented in the form of a simplified ratio of anominal vehicle steering rate lag term with zero lag (e.g., “1”) to anominal vehicle steering rate gain term “Kn”, as described similarly inconnection with block 312 of FIG. 3. In such embodiment, nominal vehiclefeedback system 610 would typically compensate for steering rate lagthrough use of optional block 618. In various embodiments, nominalvehicle predictor 612 can be recognized as an inverse form of thetransfer functions described with reference to block 228 of FIGS. 2 and3.

Advantageously, the nominal vehicle predictor may be implemented as atransfer function acting on only one (e.g., steering rate) of the twostate variables (e.g., heading and steering rate) of the control loop,which makes implementation easier due to, at least in part, a reducedneed for computing resources.

In optional block 618, controller 130 receives a measured steering angle131 (e.g., as a sensor signal) from steering sensor/actuator 150 andgenerates a delayed version of measured steering angle 131 to beprovided to block 614. Measured steering angle 131 may be a steeringangle (e.g., rudder angle) of mobile structure 101 sensed by steeringsensor/actuator 150, for example, and may depend, at least in part, onsteering demand 609 provided to steering sensor/actuator 150. Forinstance, in embodiments where steering sensor/actuator 150 can meet therequested steering demand 609 within an update time of at least aportion of control loop 600, steering angle 131 may substantially equalsteering demand 609. In other embodiments, steering angle 131 may beproportional to steering demand 609, for example.

In some embodiments, optional block 618 may be implemented as a transferfunction (e.g., in the S-plane) including a steering angle lag term“1+Dn*s” similar to that shown in FIG. 3. In other embodiments, block618 may be implemented as a filter and/or other type of process to delayand/or simulate delay of measured steering angle 131 by a nominalvehicle steering rate lag and/or a modeled steering rate lag beforeproviding a delayed steering angle to block 614 for combination withnominal vehicle steering angle 620 from block 612.

In block 614, controller 130 receives an actual or, optionally, adelayed/filtered measured steering angle 131 (e.g., as a sensor signal)from steering sensor/actuator 150 and nominal vehicle steering angle 620from block 612 and combines them to produce a nominal vehicle feedbacksignal 621 that may then be provided to block 616. In some embodiments,nominal vehicle feedback signal 621 may represent a difference betweenmeasured steering angle 131 and nominal vehicle steering angle 620. Invarious embodiments, nominal vehicle feedback signal 621 may correspondto a disturbance experienced by mobile structure 101.

In block 616, controller 130 filters nominal vehicle feedback signal 621output by block 614 and provides a filtered nominal vehicle feedbacksignal to block 608. In some embodiments, block 616 may be implementedas a low pass filter. In further embodiments, block 616 may beimplemented with a selectable bandwidth that can be modified based on auser-selectable responsiveness setting. In other embodiments, the filterbandwidth is a control loop parameter that may be modified based on areceived user input and/or adaptive training implemented with controlloop 600. For example, the filter bandwidth may be modified based on atarget acceptable output noise level in steering demand 609. In variousembodiments, filter 616 may be implemented as a multi-band filter.

In additional embodiments, a sub-control loop including blocks 608, 612,614, 616, and/or 618 may be iterated multiple times for each update of,for example, blocks 604 and/or 606. In such embodiments, an input ofblock 608 corresponding to an output of block 606 may be set to aprior-used value for a number of iterations of the sub-control loop. Insome embodiments, such a sub-control loop may be implemented as a deviceand/or instructions separate from a device and/or instructionsimplementing one or more of the remaining blocks of control loop 600,for example. For instance, blocks 602 and/or 604 may be implemented asan electronic device separate from controller 130 in FIG. 1.

In one embodiment, nominal vehicle feedback system 610 may beimplemented as an electronic device adapted to be installed on a mobilestructures with an existing directional control system including aproportional-derivative and/or similar controller module and one or morecomponents similar to sensors 140-146, steering sensor/actuator 150,and/or other modules 180 of FIG. 1.

Because control loop 600 includes a proportional-differential controllermodule (e.g., block 604) and a nominal vehicle predictor (e.g., block612), embodiments of control loop 600 may be implemented as a criticallydamped control loop with a higher bandwidth (e.g., responsiveness) thanif the nominal vehicle predictor were acting alone to stabilizedirectional control of, for example, mobile structure 101. Becausecontrol loop 600 also includes a steering demand limiter (e.g., block606), embodiments of control loop 600 may be implemented to avoidnon-linear control loop responses corresponding to steering demandsproducing a steering actuator rate demand exceeding a steering actuatorrate limit and/or a steering demand exceeding a steering actuator anglelimit.

In accordance with various embodiments of the present disclosure,various control loop parameters, user inputs, sensor signals, controllersignals, and other data, parameters, and/or signals described inconnection with system 100 and/or control loops 200, 300, 500, or 600may be stored at various points in the control loops, including withinand/or during execution of any one of the blocks of a particular controlloop.

Embodiments of the present disclosure can thus provide reliable andaccurate proactive directional control for mobile structures. Suchembodiments may be used to assist in navigation of a mobile structureand/or in the operation of other systems, devices, and/or sensorscoupled to or associated with the mobile structure. For example,embodiments of the present disclosure may be used to provide proactivedirectional control for actuators used to aim an actuated device (e.g.,a visible and/or infrared spectrum camera, a spotlight, otherdirectional illumination and/or sensor systems) according to a desireddirection. In such embodiments, the steering angle corresponds to theaiming angle (e.g., roll, pitch, and/or yaw) for the actuated device andthe steering rate corresponds to the rate of change in the orientationof the actuated device in the direction actuated by the steering angle.

Where applicable, various embodiments provided by the present disclosurecan be implemented using hardware, software, or combinations of hardwareand software. Also where applicable, the various hardware componentsand/or software components set forth herein can be combined intocomposite components comprising software, hardware, and/or both withoutdeparting from the spirit of the present disclosure. Where applicable,the various hardware components and/or software components set forthherein can be separated into sub-components comprising software,hardware, or both without departing from the spirit of the presentdisclosure. In addition, where applicable, it is contemplated thatsoftware components can be implemented as hardware components, andvice-versa.

Software in accordance with the present disclosure, such asnon-transitory instructions, program code, and/or data, can be stored onone or more non-transitory machine readable mediums. It is alsocontemplated that software identified herein can be implemented usingone or more general purpose or specific purpose computers and/orcomputer systems, networked and/or otherwise. Where applicable, theordering of various steps described herein can be changed, combined intocomposite steps, and/or separated into sub-steps to provide featuresdescribed herein.

Embodiments described above illustrate but do not limit the invention.It should also be understood that numerous modifications and variationsare possible in accordance with the principles of the invention.Accordingly, the scope of the invention is defined only by the followingclaims.

What is claimed is:
 1. A system comprising: a logic device configured toreceive one or more sensor signals and generate one or more controlsignals to provide proactive directional control for a mobile structure,wherein the logic device is adapted to: receive a steering demand forthe mobile structure; determine a steering angle disturbance adjustmentbased, at least in part, on one or more environmental conditionsassociated with the mobile structure; and determine a disturbanceadjusted steering demand based, at least in part, on the steering angledisturbance adjustment and the steering demand.
 2. The system of claim1, wherein the mobile structure comprises a rudder and is disposed on abody of water, the one or more environmental conditions comprise a wavepattern on the body of water, and the logic device is adapted to:determine a wave height, length, period, and/or propagation directionfor the wave pattern based, at least in part, on a series of pitchangles for the mobile structure; determine an orbital velocityassociated with water at the rudder based, at least in part, on theheight, length, period, and/or propagation direction for the wavepattern; and determine a rudder trim component of the steering angledisturbance adjustment based, at least in part, on the orbital velocity.3. The system of claim 2, wherein the logic device is adapted to:determine the propagation direction for the wave pattern based, at leastin part, on a series of roll angles of the mobile structure; determine alateral speed for the mobile structure based, at least in part, on thepropagation direction for the wave pattern and/or the orbital velocity;and determine the rudder trim component of the steering angledisturbance adjustment based, at least in part, on the lateral speed andthe orbital velocity.
 4. The system of claim 2, wherein the logic deviceis adapted to: determine a heading error comprising a difference betweena heading of the mobile structure and the propagation direction for thewave pattern; and set the steering demand to the heading error to steerthe mobile structure in the propagation direction for the wave pattern.5. The system of claim 1, wherein the mobile structure comprises arudder and is disposed on a body of water, the one or more environmentalconditions comprise a wind blowing over the body of water, and the logicdevice is adapted to: receive one or more wind speeds, wind directions,and/or a series of roll angles for the mobile structure corresponding tothe wind speeds and/or wind directions; and determine at least oneweather helm component of the steering angle disturbance adjustmentbased, at least in part, on a mathematical relationship between the atleast one weather helm component and the wind speeds, wind directions,and/or series of roll angles.
 6. The system of claim 5, wherein thelogic device is adapted to: store the wind speeds, the wind directions,the series of roll angles, and/or the at least one weather helmcomponent; and determine a statistical relationship between the storedat least one weather helm component and the wind speeds, winddirections, and/or series of roll angles, to determine or refine themathematical relationship.
 7. The system of claim 1, wherein the logicdevice is adapted to: receive a steering angle and a steering rate ofthe mobile structure; determine a nominal vehicle steering angle based,at least in part, on the steering rate; and determine a nominal vehiclefeedback signal based, at least in part, on a combination of thesteering angle and the nominal vehicle steering angle, wherein thenominal vehicle feedback signal is provided to adjust the steeringdemand.
 8. The system of claim 7, wherein the logic device, for thedetermine the nominal vehicle steering angle, is adapted to: process thesteering rate with a nominal vehicle predictor; and receive the nominalvehicle steering angle from the nominal vehicle predictor, wherein thenominal vehicle predictor comprises a transfer function configured tomodel dynamics of a nominal vehicle derived, at least in part, from aselection of mobile structures.
 9. The system of claim 8, wherein: thetransfer function comprises a ratio of a nominal vehicle steering ratelag term to a nominal vehicle steering rate gain term; and the logicdevice, for the determine the nominal vehicle feedback signal, isadapted to determine a difference between the nominal vehicle steeringangle and the steering angle as the nominal vehicle feedback signal. 10.The system of claim 8, wherein: the transfer function comprises a ratioof a nominal vehicle steering rate lag term to a nominal vehiclesteering rate gain term; the nominal vehicle steering rate lag is set tozero within the nominal vehicle predictor; and the logic device, for thedetermine the nominal vehicle feedback signal, is adapted to determine adelayed steering angle based, at least in part, on the steering angle,and to determine a difference between the nominal vehicle steering angleand the delayed steering angle as the nominal vehicle feedback signal.11. The system of claim 1, wherein: the logic device is adapted toprovide the disturbance adjusted steering demand to a steering actuatorfor the mobile structure; and the steering demand is adjusted by anominal vehicle feedback signal prior to being used to determine thesteering angle disturbance adjustment.
 12. The system of claim 1,further comprising: a steering actuator configured to receive thedisturbance adjusted steering demand provided as one of the controlsignals, wherein the mobile structure comprises a watercraft and thesteering actuator is configured to control a rudder of the watercraft.13. A method comprising: receiving a steering demand for a mobilestructure; determining a steering angle disturbance adjustment based, atleast in part, on one or more environmental conditions associated withthe mobile structure; and determining a disturbance adjusted steeringdemand based, at least in part, on the steering angle disturbanceadjustment and the steering demand.
 14. The method of claim 13, whereinthe mobile structure comprises a rudder and is disposed on a body ofwater, the one or more environmental conditions comprise a wave patternon the body of water, and the method further comprises: determining awave height, length, period, and/or propagation direction for the wavepattern based, at least in part, on a series of pitch angles for themobile structure; determining an orbital velocity associated with waterat the rudder based, at least in part, on the height, length, period,and/or propagation direction for the wave pattern; and determining arudder trim component of the steering angle disturbance adjustmentbased, at least in part, on the orbital velocity.
 15. The method ofclaim 14, further comprising: determining the propagation direction forthe wave pattern based, at least in part, on a series of roll angles ofthe mobile structure; determining a lateral speed for the mobilestructure based, at least in part, on the propagation direction for thewave pattern and/or the orbital velocity; and determining the ruddertrim component of the steering angle disturbance adjustment based, atleast in part, on the lateral speed and the orbital velocity.
 16. Themethod of claim 14, further comprising: determining a heading errorcomprising a difference between a heading of the mobile structure andthe propagation direction for the wave pattern; and setting the steeringdemand to the heading error to steer the mobile structure in thepropagation direction for the wave pattern.
 17. The method of claim 13,wherein the mobile structure comprises a rudder and is disposed on abody of water, the one or more environmental conditions comprise a windblowing over the body of water, and the method further comprises:receiving one or more wind speeds, wind directions, and/or a series ofroll angles for the mobile structure corresponding to the wind speedsand/or wind directions; and determining at least one weather helmcomponent of the steering angle disturbance adjustment based, at leastin part, on a mathematical relationship between the at least one weatherhelm component and the wind speeds, wind directions, and/or series ofroll angles.
 18. The method of claim 17, further comprising: storing thewind speeds, the wind directions, the series of roll angles, and/or theat least one weather helm component; and determining a statisticalrelationship between the stored at least one weather helm component andthe wind speeds, wind directions, and/or series of roll angles, torefine the mathematical relationship.
 19. The method of claim 13,further comprising: receiving a steering angle and a steering rate ofthe mobile structure; determining a nominal vehicle steering anglebased, at least in part, on the steering rate; and determining a nominalvehicle feedback signal based, at least in part, on a combination of thesteering angle and the nominal vehicle steering angle, wherein thenominal vehicle feedback signal is provided to adjust the steeringdemand.
 20. The method of claim 19, wherein the determining the nominalvehicle steering angle comprises: processing the steering rate with anominal vehicle predictor; and receiving the nominal vehicle steeringangle from the nominal vehicle predictor, wherein the nominal vehiclepredictor comprises a transfer function configured to model dynamics ofa nominal vehicle derived, at least in part, from a selection of mobilestructures.
 21. The method of claim 20, wherein: the transfer functioncomprises a ratio of a nominal vehicle steering rate lag term to anominal vehicle steering rate gain term; and the determining the nominalvehicle feedback signal comprises determining a difference between thenominal vehicle steering angle and the steering angle as the nominalvehicle feedback signal.
 22. The method of claim 20, wherein: thetransfer function comprises a ratio of a nominal vehicle steering ratelag term to a nominal vehicle steering rate gain term; the nominalvehicle steering rate lag is set to zero within the nominal vehiclepredictor; and the method comprises determining a delayed steering anglebased, at least in part, on the steering angle, and determining adifference between the nominal vehicle steering angle and the delayedsteering angle as the nominal vehicle feedback signal.
 23. The method ofclaim 13, wherein: the method comprises providing the disturbanceadjusted steering demand to a steering actuator for the mobilestructure; and the steering demand is adjusted by a nominal vehiclefeedback signal prior to being used to determine the steering angledisturbance adjustment.